/*
 * app.js - Express server with routing
*/

/*jslint         node    : true, continue : true,
  devel  : true, indent  : 2,    maxerr   : 50,
  newcap : true, nomen   : true, plusplus : true,
  regexp : true, sloppy  : true, vars     : false,
  white  : true
*/
/*global */

// ------------ BEGIN MODULE SCOPE VARIABLES --------------
'use strict';
var
  express = require('express'),
  app = express(),
  fs = require('fs'),
  path = require('path'),
  bodyParser = require('body-parser');// 获取POST 参数 需要这个模块
// ------------- END MODULE SCOPE VARIABLES ---------------
// 托管静态资源
app.use('/node_modules', express.static('node_modules'));
app.use('/public', express.static('./public'));
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

app.use(express.static(path.join(__dirname, 'public')));
app.use(bodyParser.urlencoded({ extended: false }));
// ------------- 自动注册路由模块 ---------------
// 需求：实现自动注册路由模块
//  实现思路：
//   1. 使用 fs.readdir 读取 router 文件夹下的所有 路由模块的 名称
//   2. 读取完毕之后，拼接每个路由模块的完整路径
//   3. 拼接出完整的路径之后，forEach 循环，通过 app.use 来注册每一个路由模块
fs.readdir(path.join(__dirname, './router'), (err, filenames) => {
  if (err) throw err;
  filenames.forEach(filename => {
    // 通过 path.join 方法，拼,接每一个 路由模块的 绝对路径
    var filePath = path.join(__dirname, './router', filename);
    // 使用 app.use() 注册每一个路由模块
    app.use(require(filePath));
  });
});

// -------------- 自动注册路由模块 end ----------------

app.listen(3000, function () {
  console.log(' 服务器已启动：http://localhost:3000');
});



